#1- history 命令历史，将之前的命令保存在缓存中，上下键查看(通过-w选项可以写入文件中)
    #命令历史会存放在家目录下的隐藏文件.bash_history中
    history -c #清空命令历史
    history -d 500 #删除第500个历史命令
    history -w #将缓冲区的命令写入到命令历史文件中(家目录下面的.bash_history)

#2- 环境变量
    $PATH #这个是命令搜索路径
    $HISTZIZE #这个是命令历史大小

#3- 命令历史的使用技巧
    !n   #譬如 !100  执行命令历史中的第100个命令
    !-n  #譬如 !-2  执行命令历史中的倒数第二个命令
    !!   #执行上一条命令
    !string  #譬如 !cat   执行命令历史中最近以cat开头的命令
    !$   #引用上一条命令最后的一个参数

#4- alias unalias 命令重命名
    #注意设置的别名只在此shell的生命周期有效
    alias ll #查看命令ll 对应重命名的命令
    alias cls='clear' #给clear命令设置cls别名
    unalias cls #取消cls别名

#5- $()   `` 命令替换
    #把命令中的子命令替换为执行结果的过程
    echo "the current directory is $(pwd)"
    touch `date +%Y%m%d`.txt    #建立一个20210113.txt文件  
    ######
    #既然提及到了反引号 系统中的另外两个引号页提及下
    ''  #单引号属于强引用  不完成变量替换
    ""  #双引号属于弱引用 可以实现变量替换
    ### 总结来说可知 ``和$() 如果放到单引号下面是无法实现命令转换的   支持命令转换需要使用双引号

#6- 文件名通配符
    * #匹配任意长度的任意字符串  0或多个
    ? #匹配任意单个字符
    [] #匹配指定范围内的任意单个字符 [abc] [a-z] [A-Z] [0-9] [a-zA-Z]
    [^] #匹配指定范围内外的其他任意单个字符 [^0-9]:非数字

#7- linux用户及其权限详解
#rwx  421
对于文件操作
    r #读  可以使用类似cat命令等命令查看文件内容
    w #写  可以编辑或者删除此文件
    x #执行 exacutable 可以命令提示符下 当作命令提交给内核运行

对于目录操作
    r #读  可以对此目录执行ls以列出内部所有的文件
    w #写 可以在此目录创建文件
    x #执行  可以使用cd 命令切换至此目录，也可以使用ls -l 查看内部文件的详细信息

关于用户UID 和组GID
#用户输入完用户名之后，会转换为ID号，通过查询/etc/passwd   /etc/shadow 两个文件作为查询需要的数据库
#passwd  登录名:密码:用户ID:基本组ID:用户注释信息:家目录:用户默认的shell
#shadow  登录名:加密后的密码:密码上次修改的时间距1970年的时间:密码最短使用期限:密码最长使用期限:离过期时间多长时间警告:
#        密码过期后多少天禁用用户:自1970年1月1号起多少天过期:保留字段
###
#由于用户登陆需要读取shadow  group.如果里面存放了密码等数据就会非常不安全，因为每个用户都可以访问
#故此，Linux设置了影子口令，将passwd设置为x   真正的密码放置在shadow  gshadow中
关于用户ID 管理员是0  普通用户是1～65535  系统用户 1～499 一般用户500～60000
/etc/login.defs  #对登陆设置的默认值的文件

#8- useradd新增用户
    useradd chu  #新增一个名为chu的用户  对于这个用户的属性 通过/etc/default下的useradd文件确定
    useradd -u 1000 chu # 新建一个用户chu  并指定其uid
    useradd -g mygroup chu #新建一个用户 并指定其基本组
    useradd -G othergroup chu #新建一个用户 并指定其附加组
    useradd -c "注释"
    useradd -d /path  #指定用户的家目录

#9- userdel删除用户
    userdel user1       #默认删除  不删除家目录
    userdel -r user1    #删除用户同时也删除用户家目录

#10- usermod修改用户的账号属性
    usermod -u UID #修改用户的UID
    usermod -g GID 

#11- chsh 修改用户的默认shell

#12- passwd 修改密码
    passwd
    echo "passwd" | passwd --stdin user1
    passwd -l chu   #锁定chu用户
    passwd -u chu   #解锁chu用户
    passwd -d chu   #删除密码


    